
export default class TimeUtils {

    /**
     * 格式化时间 默认格式yyyy-MM-dd
     * @param dateStr
     * @param format
     */
    static formatTime(dateStr = null, format = 'yyyy-MM-dd') {
        let date = dateStr? new Date(dateStr): new Date();
        return date.Format(format);
    }

    /**
     * 获取当前时间的前几天
     * @param format
     * @param step
     * @returns {Date}
     */
    static getLatestDate(step, format = "yyyy-MM-dd") {
        let currentDate = new Date();
        currentDate.setDate(currentDate.getDate() - step);
        return currentDate.Format(format);
    }

    /**
     * 获取当前时间的前几个月
     * @param format
     * @param step
     * @returns {Date}
     */
    static getLatestMonth(step, format = "yyyy-MM-dd") {
        let currentDate = new Date();
        currentDate.setMonth(currentDate.getMonth() - step);
        return currentDate.Format(format);
    }

    /**
     * 获取当前时间的前几年
     * @param format
     * @param step
     * @returns {Date}
     */
    static getLastestYear(step, format = "yyyy-MM-dd") {
        let currentDate = new Date();
        currentDate.setFullYear(currentDate.getFullYear() - step);
        return currentDate.Format(format);
    }

    /**
     * 第一个日期是否在第二个日期之后
     * @param first
     * @param second
     * @returns {boolean}
     */
    static isLaterThen(first, second) {
        return new Date(first.replace(/\-/g, '\/')) > new Date(second.replace(/\-/g, '\/'))
    }

}